package net.suplementos.pojo;

import java.io.Serializable;
import javax.persistence.*;

import net.suplementos.pojo.pk.UsuarioPerfilPK;

import java.util.Date;

@Entity
@Table(name = "usuario_perfil")
public class UsuarioPerfil implements Serializable {

	@EmbeddedId
	private UsuarioPerfilPK id;

	private Boolean ativo;

	@Temporal(TemporalType.DATE)
	@Column(name = "data_criacao")
	private Date dataCriacao;

	@Temporal(TemporalType.DATE)
	@Column(name = "data_desativacao")
	private Date dataDesativacao;

	@ManyToOne
	@JoinColumn(name = "perfil_id", insertable = false, updatable = false)
	private Perfil perfil;

	@ManyToOne
	@JoinColumn(name = "usuario_id", insertable = false, updatable = false)
	private Usuario usuario;

	@ManyToOne
	@JoinColumn(name = "criador_id")
	private Usuario criador;

	public UsuarioPerfil() {
	}

	public UsuarioPerfilPK getId() {
		return this.id;
	}

	public void setId(UsuarioPerfilPK id) {
		this.id = id;
	}

	public Boolean getAtivo() {
		return this.ativo;
	}

	public void setAtivo(Boolean ativo) {
		this.ativo = ativo;
	}

	public Date getDataCriacao() {
		return this.dataCriacao;
	}

	public void setDataCriacao(Date dataCriacao) {
		this.dataCriacao = dataCriacao;
	}

	public Date getDataDesativacao() {
		return this.dataDesativacao;
	}

	public void setDataDesativacao(Date dataDesativacao) {
		this.dataDesativacao = dataDesativacao;
	}

	public Perfil getPerfil() {
		return this.perfil;
	}

	public void setPerfil(Perfil perfil) {
		this.perfil = perfil;
	}

	public Usuario getCriador() {
		return criador;
	}

	public void setCriador(Usuario criador) {
		this.criador = criador;
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

}